home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Power Tools 1993 October - Disc 2
/
Power Tools (Disc 2)(October 1993)(HP).iso
/
hotlines
/
wsyhl
/
ezpexwp.txt
< prev
next >
Wrap
Text File
|
1993-07-22
|
20KB
|
359 lines
EZPXWP
The Evolution of PEXlib and Open Computing
Kevin Borchert
Hewlett-Packard Company
Systems Technology Division
Fort Collins Product Planning
June 8, 1993
Introduction
Several years ago, the 3D graphics industry began moving slowly
but steadily from proprietary APIs (application programming
interfaces) to open systems. The race has heated up considerably
within the past year. It's not hard to understand why. API
users have realized that they can't afford to be locked into the
technology of a single vendor. They demand portability so their
applications can be quickly ported to multiple platforms. They
require ever-increasing graphics functionality on their existing
systems. And they need a common, consistent development
environment where the "look and feel" of applications remains the
same from platform to platform. These are compelling points for
migrating from a proprietary API to an open graphics system. But
what's the best path to take?
Today PEXlib and OpenGL are the front-runners for the position
of de facto standard in graphics APIs. Both products have
received exposure in trade magazines, and both have their
supporters. To date, PEXlib has received the endorsement of the
X Consortium and all major workstation vendors except Silicon
Graphics, Inc. (SGI). Not surprisingly, SGI opposes PEXlib and
supports OpenGL, a derivative of its proprietary IRIS GL product.
And although OpenGL is not yet available, SGI has succeeded in
positioning OpenGL as a leading API contender while creating a
screen of uncertainty and confusion around PEXlib.
Like other technologies, the PEX protocol and PEXlib API have
been in a constant state of evolution since their inception.
This paper incorporates the most recent developments to give an
accurate and current snapshot of PEXlib. True objectivity is
difficult to achieve since all API vendors have a vested interest
in propagating their own vision of the best "open" path to
follow. Still, this paper attempts to paint an accurate picture
of the need for open graphics and the current position of PEXlib.
At the same time it clarifies and rebuts information about PEXlib
that is either flawed, incomplete or out of date. We hope the
information presented here will reduce confusion and help
application developers make an informed decision regarding
PEXlib, especially as it compares to OpenGL.
The Trend Toward Open Computing
In March 1993 at Uniforum in San Francisco, six of the world's
largest workstation vendors made a joint announcement.
Hewlett-Packard Company, Sun Microsystems, IBM, The Santa Cruz
Operation (SCO), Univel, and UNIX System Laboratories announced
their intent to collaborate on a common open software environment
(cose). The significance of the announcement cannot be
overstated. These major vendors-still aggressive competitors in
the computer market-are opening their books, sharing their data
and engineering resources, and working together to define a
standard specification for a common computing environment.
As a result of the cose (pronounced "cosy") process, computer
users will have a consistent computing experience, and software
developers will have a consistent set of programming interfaces
regardless of the platform they use. The goal is openness:
vendors are bringing a unified look and feel to multi-vendor
environments, enabling computer users to transparently access
data and applications from any point on the network, regardless
of the platform on which they work.
The cose process includes capabilities for networking,
graphics, multimedia, object-oriented programming, and systems
management. The graphics portion, when implemented in the common
open software environment, provides the fundamental programming
utilities needed to produce graphics-intensive applications while
shielding developers from specific hardware dependencies. This
is important to the success of any open graphics strategy. Due
to constant improvements in system performance and the widespread
use of sophisticated graphics in today's applications, developers
of 3D graphics applications have been clamoring loudly for a
consistent set of software utilities and protocols.
To address this, HP, Digital Equipment Corp., IBM, SCO,
SunSoft, Univel and USL are agreeing upon common API
specifications and interoperability protocols that support the X
Consortium's imaging and graphics facilities. In the area of
graphics, the group has endorsed the following:
Xlib/X for basic 2D pixel graphics
PEXlib/PEX for 2D and 3D geometry graphics
XIElib/XIE for advanced imaging
As part of the cose announcement, these companies agreed to a
common approach for programming documentation, validation testing
and test suites. Furthermore, they're working together on
specific implementations of the protocols and APIs, and have
agreed to share detailed information where needed to accelerate
the delivery of common components that will increase graphics
functionality.
The development of the cose process came in direct response to
increased user demands for a consistent technology that will
interoperate across multiple platforms. In a word, computer
users have been asking for "openness" so they can choose freely
among all hardware technologies available to them. Application
developers also view openness as their key to reducing
development costs, increasing portability, and accelerating time
to market with new applications.
The Evolution of PEXlib
Few people in the graphics industry dispute the value of open
computing. The best way to implement open computing, however, is
a point of contention that has placed the graphics marketplace at
a crossroads. Major 3D application developers, pressured to
reduce development costs and improve time to market, are setting
their course for the next five years. They are deciding whether
to link their fortunes to PEXlib or OpenGL.
The evolution of PEXlib (and open graphics in general) shares
many parallels with the evolution of the X Window System. Just a
few years ago, all major workstation vendors had proprietary
windowing systems. When the X Window System first appeared on
the scene, vendors resisted the new technology. They pointed to
the inadequacies of the X Window system-early releases were slow,
cumbersome, complicated, and functionally incomplete-while
stressing the strengths of their proprietary systems running on
proprietary hardware. Some vendors even offered to "open" their
proprietary systems, as long as they retained control of
licensing and development. Still, the X Window System evolved
under the guidance of the X Consortium to become the unifying
windowing standard.
A similar situation now exists with PEXlib. All major
workstation vendors currently have proprietary APIs:
Hewlett-Packard has Starbase, Sun has XGL, Silicon Graphics has
IRIS GL. When PEXlib was first introduced, most vendors were
less than enthusiastic. Like X, first releases of PEXlib were
considered slow, cumbersome, complicated and functionally
incomplete. Also like X, PEXlib has evolved around a shared
sample implementation made available by the collaborative effort
of the X Consortium. As a result, PEXlib 5.1 has emerged as a
stable, tangible product that is available today on a wide range
of platforms, from low-cost PEX terminals to high-end compute
servers.
Only SGI actively opposes PEXlib, proposing instead that the
proprietary IRIS GL product be converted to an "open" product.
Unlike the open collaboration on PEXlib, the development of
OpenGL is tightly controlled by SGI's architectural review board,
an invitation-only committee with closed membership. Another key
difference: licensing fees for OpenGL will cost between $25,000
and $300,000, whereas licensing of PEXlib, like the X Window
System, is free.
The PHIGS Connection
For the majority of 3D application developers, especially those
with multiple PHIGS-based APIs, PEXlib seems to be the obvious
choice for a standard low-level API. However, some developers
hesitate to endorse PEXlib because of problems with early
implementations of the PHIGS standard.
Like the X Window System, PHIGS was an ambitious standard, and
there was great interest industry-wide in defining the
specification as quickly as possible. PHIGS products were
quickly developed and introduced before the standard was fully
defined. All of the early implementations had pre-guessed the
standard differently, and some versions did not conform to
mandated functionality because different hardware platforms
supported the standard with different levels of efficiency. Not
surprisingly, portability was difficult when the PHIGS standard
was first made available, although PHIGS has matured to address
most of its earlier problems.
PEXlib has also matured since it was first introduced, and PEX
has evolved far beyond its earlier ties to the PHIGS standard.
Early concerns about portability, performance, functionality and
openness have been addressed by the PEX Committee under the
guidance of the X Consortium. In fact, in the past year the PEX
acronym has become a misnomer; far from being a "PHIGS Extension
to X," PEX now incorporates the mainstream needs of most 3D
applications and represents the natural progression of an
international standard.
Strength in Numbers
Both PEXlib and OpenGL claim a wide presence in the 3D graphics
industry. The truth is, neither can yet claim to be the
pervasive favorite of workstation users.
However, PEXlib is shipping today while OpenGL is not. The
reason is obvious. Core support for PEXlib began with the X
Consortium, which was able to focus its resources and define the
specification in under one year. Also, the PEX Interoperability
Center (PEX IC) in the U.S., and a new PEX IC in Japan, are
continuing the collaboration of engineering resources
industry-wide. By any standards, these are compelling indicators
of unification behind PEXlib.
Still, SGI claims pervasiveness for OpenGL due to the company's
large presence with IRIS GL in high-end workstations. SGI is
admittedly the industry's most visible provider of graphics
workstations for animation, simulation, imaging and other
high-end niche applications. That gives IRIS GL a strong
presence in high-end workstation markets. But other proprietary
APIs serve their markets just as well.
Starbase (from Hewlett-Packard) and XGL (from Sun) are the
dominant APIs in design/drafting, engineering/analysis, and
scientific research applications, traditional hotbeds of 2D and
3D graphics workstations. Looking beyond positioning strategies
and focusing only on the total number of workstations in the
market, HP and Sun workstations far outnumber SGI systems. So
what does that mean for PEXlib and OpenGL? Today, neither can
claim pervasiveness. But HP, Sun, IBM and DEC, the four largest
sellers of workstations on the planet, and all other major
workstation vendors except SGI are migrating to PEXlib. In
addition, active participation in such things as the PEX IC and
the X Consortium's PEX Committee indicate that momentum is
amassed behind PEXlib.
The Issue of Openness
According to a survey conducted by Dun and Bradstreet at
Uniforum 1993, interoperability is the single most important
issue for computer and users. To the end user, interoperability
means freedom, such as being able to plug in a low-cost terminal
that can access data and applications anywhere on the network.
To 3D application developers, it means power, such as having
access to leading-edge technologies that are available from a
variety of platform vendors.
PEXlib/PEX is designed specifically for client/server
environments, and the PEX IC ensures that PEX will continue to be
available on everything from PEX terminals to supercomputers. In
fact, client/server operation is possible today, putting PEX
years ahead of OpenGL in that regard. Although the GLX protocol
gets OpenGL on the network, the PEX protocol is a more efficient
solution since it was intended from the start for network
operation. For example, PEX edits display lists remotely and
sends SOFAS and NURBS, rather than just polygons, over the
network.
By sending more compact data, network traffic is minimized,
giving PEXlib significant performance advantages in open
client/server environments.
Proven Portability
The issue of portability has always been key to the success of
PEXlib. To application developers, it means being able to create
applications that will run on virtually any platform with the
same functionality and with minimal porting effort. Though
neither PEXlib nor OpenGL can provide benchmarks from conformance
testing, the PEX Committee, PEX IC and cose process are helping
to ensure that any PEXlib application will run on any PEXlib
platform.
In real-world implementations, PEXlib has already demonstrated
a high degree of portability among various hardware platforms.
AVS, a scientific engineering and data visualization application,
was ported from HP PHIGS to HP PEXlib in a couple of weeks, and
was then ported to IBM's PEXlib in approximately one day.
Another large CAD company in Europe moved an application of 1.3
million lines of code from a version of PHIGS to PEXlib running
on a different platform in just two weeks, including testing
time. PEXlib also has demonstrated that it provides identical
functionality on comparable hardware platforms from Sun, HP, IBM,
DEC and others.
Levels of Abstraction
PEXlib is a hardware-independent API built on top of the PEX
protocol; OpenGL is a hardware-oriented API. The level of
abstraction is a key difference between the two systems.
Operating at the lower level, OpenGL is tightly tied to the
capabilities of its underlying hardware, and thus the
functionality available to programmers depends on the evolution
of SGI hardware and graphics capabilities. PEXlib operates at a
higher level of abstraction, so developers are further removed
from the hardware changes that take place beneath the API. As
the standard evolves, developers can take advantage of new
functionalities as they become available from a variety of
vendors on a variety of platforms.
Common Misconceptions
The majority of information currently being published about
PEXlib is based on old assumptions or flawed logic that ties
PEXlib too closely to the PHIGS standard. Here are a few of the
more common misconceptions.
PEX 6.0 will be incompatible with previous versions of PEXlib.
PEX 6.0 represents the natural evolution of the PEX standard:
current functionality will not change, while additional
functionality for text, markers, complex polygons and display
lists will be added. Existing PEXlib applications will not be
affected by the upgrade. In fact, HP PEX 5.1 applications can run
on a 6.0 server supporting the 5.1 protocol. Moving within the
same platform family-for example, between HP or Sun systems-does
not even require a re-link.
PEXlib is difficult to use. From a programmer's point of view,
the most difficult aspect of using PEXlib-or any other API,
including OpenGL-is initialization. The initialization
requirements of the X Window System are consistent across all
APIs. Once past initialization, programming with PEXlib is
comparable to any other 3D API on the market. To ease
initialization, HP's PEXlib product currently ships with a
utility that simplifies initialization. As soon as the HP
utility is standardized, it will be available across all versions
of PEXlib. In the meantime, HP PEXlib 5.1 includes toolkits,
hypertext and on-line examples to assist programmers.
Only OpenGL will provide access to Windows NT. On the contrary,
it's unclear as to when OpenGL will be available on Windows NT.
To date, the only firm announcement from Microsoft is that OpenGL
is not available on the first release of Windows NT. When OpenGL
is available, it will not support X-based network protocols and,
in fact, will not provide any mechanisms for a remote user
interface. On the other hand, several companies have announced
their intention to provide X Windows (and thus PEXlib) support
for Windows NT. These companies will be in a strong position to
provide a PEXlib API integrated into a complete client/server
environment.
Conclusions
As the graphics industry approaches its crossroads for 3D APIs,
the dominant issue of PEXlib versus OpenGL involves a difference
of philosophies. Should the graphics industry adopt an open
standard as happened with the X Window System, or should a
proprietary product be foisted upon computer users as a de facto
industry standard. In the end, application developers will make
their decisions with the facts available:
The X Consortium has endorsed PEXlib and the PEX protocol for 3D
graphics applications. As a result, PEXlib is shipping today
while OpenGL is not.
All major workstation vendors except SGI endorse PEXlib.
The common open software environment (cose) process is defining
a comprehensive common computing environment that will support
PEXlib across all major workstation platforms.
The PEX Interoperability Center (PEX IC) in the United States is
already providing centralized, multi-vendor testing to assure
interoperability across the platforms of all workstation vendors.
A second PEX IC has been established in Japan to accomplish the
same goal.
PEXlib is controlled by the open-membership PEXlib Committee,
which encourages the participation of any member in the X
Consortium. OpenGL is controlled by SGI's invitation-only
architectural review board, which maintains tight control of
licensing and development of OpenGL.
The PEX protocol is intended for client/server as well as
desktop environments, and provides good network performance on a
variety of platforms and price points, from PEX terminals to
computer servers. The GLX protocol, which was retrofitted to
bring OpenGL to the network, will not provide the required
network performance and lacks choices in terminals.
Low-cost PEX terminals are already available from a variety of
companies including Tektronix, NCD, Japan Computer, SHOgraphics
and others.
As a hardware-independent API, PEXlib provides identical
functionality and a high degree of portability across all
platforms that support the standard. Since OpenGL is a
hardware-dependent API, performance portability is expected to be
poor on all machines except high-end, expensive SGI systems.
In the end, one question overrides all others: Are 3D API
implementors better served by proprietary products or by an open
standard, with all that that implies? The answer to that
question will determine the fates of PEXlib, OpenGL, and
virtually every developer of 3D graphics applications.
###
Kevin Borchert is graphics marketing manager for
Hewlett-Packard's Systems Technology Division (HP STD) in Fort
Collins, Colorado.
11 Dun and Bradstreet, March 19, 1993, "Two'Thirds of
Survey Participants Say Right-Sizing Plan in
1993 As Companies Seek Efficiency"
.......................................................................